GoSuda

Politiikka ja tietokoneet

By snowmerak
views ...

Mitä filosofia on?

Mitä filosofialla mielestänne tarkoitetaan? Sanakirjan mukaan se on "toimintaa, jossa ajatellaan ja etsitään vastauksia maailman elämään ja perustavanlaatuisiin kysymyksiin". Voimme antaa myös käyttäytymiseen perustuvan määritelmän, jonka mukaan se ei ole ennalta määrättyjen ongelmien ratkaisua, vaan ajattelun laajentamista samojen kysymysten tai peräkkäisten kysymysten avulla ja vastausten jakamista.

Aiemmin, kun suoritin kandidaatin tutkintoani, osallistuin politiikan filosofiaan liittyvälle kurssille. Muistan, että professori sanoi itsenäisen esittelyni aikana jotain samankaltaista kuin "politiikan filosofia ja tietojenkäsittelytiede ovat tieteenaloja, jotka ovat eri filosofioiden huipulla". Se ei ollut tarkalleen nämä sanat ja lauseet, mutta tarkoitus oli suunnilleen se.

Tietojenkäsittelytiede

Uskon, että tietojenkäsittelytiede on "perustavanlaatuista tutkimusta loogisten ongelmien ratkaisemiseksi". Siksi jokaisella ongelmaa pohtivalla henkilöllä voi olla useita vastauksia. Tyypillisin esimerkki on lajittelu. Jopa samojen lueteltujen tietojen lajittelussa on useita menetelmiä, kuten kupla-, lisäys-, valinta-, yhdistämis-, pika-, keko- ja tim-lajittelu. Ja jakamalla näitä menetelmiä voidaan kehittää parempia algoritmeja.

Lisäksi alueellisesti tarkasteltuna voidaan sanoa, että se "luo ja todistaa". Edellä mainittu lajittelu luo jatkuvasti uusia tapoja lajitella ja todistaa tulokset. Kehittäjien kohdalla on hyvä tarkastella sitä siten, että kun projektisuunnitelma tulee esiin, he toteuttavat sen ja todistavat sen toimivan.

Politiikan filosofia

Uskon, että politiikan filosofia on "perustavanlaatuista tutkimusta sosiaalisten ongelmien ratkaisemiseksi". Jokaisena aikakautena se kyseenalaistaa toistuvasti olemassa olevat ongelmat, tuottaa vastauksia ja jakaa niitä nykyhetkessä ja tulevaisuudessa. Se käsittelee pääasiassa abstrakteja arvoja, kuten oikeudenmukaisuutta, vapautta, tasa-arvoa ja valtaa, joita tulkitaan eri tavoin aikakaudesta ja kulttuurista riippuen, eikä selkeää hyvää ja pahaa, oikeaa ja väärää ole määritelty, vaan ne ovat ominaisuuksia, jotka jäävät määrittelemättömiksi.

Lisäksi, jos tarkastellaan sitä alueellisesti kuten tietojenkäsittelytiedettä, sitä voidaan pitää "kyselevänä ja pohtivana". Se kyseenalaistaa jatkuvasti ilmenneitä ongelmia, pohtii, miksi niin kävi, mitä parempia suuntia on olemassa, ja antaa vastauksia. Myös tähän ilmestyy paljon vastauksia suhteessa ajattelevien ihmisten määrään.

Miksi meidän tulisi tuntea politiikkaa/tietojenkäsittelyä?

Keskinäisen kutsumisen suhde

Nämä kaksi maailmaa näyttävät kaivautuvan eri alueisiin, mutta todellisuudessa niillä on paljon yhteisiä piirteitä ja ne ovat toistensa syitä ja seurauksia.

Annan yhden esimerkin.

  1. Jos henkilökohtaiset terveystiedot tallennetaan turvallisesti pilveen, ne ovat nopeasti saatavilla eri sairaaloista tarvittaessa. ⇒ Tämä toteutetaan ohjelmoimalla kunkin alueen toiminnot turvallisesti ja helposti saatavilla oleviksi.
  2. Kenen data tämä sitten on? Minun? Rekisteröineen henkilön? Vai pääorganisaation? Kehitysyhtiön? Valtion? Kuinka paljon he voivat nähdä dataani? Kuinka paljon henkilötietojani voidaan taata suojatuksi? ⇒ Poliittista keskustelua käydään eri yhteisöjen ja yksilöiden näkemysten ja etujen eroista.
  3. Tämän jälkeen poliittinen keskustelu ja ohjelmoinnillinen suunnittelu ja toteutus toistuvat jatkuvasti.

Tällä tavoin tietojenkäsittelytiedettä käytetään olemassa olevien sosiaalisten ongelmien ratkaisemiseen, ja sitten politiikan filosofiaa käytetään kyseenalaistamaan ja ratkaisemaan tästä syntyneitä ongelmia ja ratkaisemaan seuraavia ongelmia. Tämä on luonnollinen ilmiö nykyisessä informaatioyhteiskunnassa.

Ovatko politiikka ja tietokoneet samanlaisia?

Eroavaisuudet

Lisäksi nämä kaksi maailmaa ovat kehittyneet samankaltaisesti. Niiden perusta eroaa kuitenkin epämääräisten ja selkeiden ilmaisujen välillä, aivan kuten yhteiskuntafilosofian ja luonnonfilosofian suhde. Jos politiikan filosofia perustuu luonnollisen kielen muuttuviin ja epämääräisiin määritelmiin, tietojenkäsittelytiede perustuu luonnollisen kielen sijaan matemaattisiin kaavoihin perustuviin muuttumattomiin ja selkeisiin väitteisiin.

Lisäksi suunta ilmaistaan hienovaraisesti eri tavoin. Tietojenkäsittelytiede uskoo, että optimaalinen ratkaisu voi olla olemassa. Politiikan filosofiassa puolestaan puhutaan epämääräisistä käsitteistä, kuten vakuuttavammista väitteistä, paremmin perustelluista väitteistä ja eettisimmistä väitteistä. Mielestäni niiden suunta on kuitenkin lähes samanlainen. Ne näyttävät loppujen lopuksi pyrkivän "parempaan seuraavaan". Vaikka tietojenkäsittelytieteessä on monia eri aloja, esimerkiksi media-kompressiossa, jota kutsutaan koodekiksi, pyritään parempaan pakkaussuhteeseen, pakkaustehokkuuteen ja lisenssikustannuksiin.

Samankaltaisuudet

Tyypillisesti ohjelmointikielet ja hallintafilosofiat näyttävät soveltuvan ihmisiin samankaltaisesti. Vaikka kutakin kieltä ja filosofiaa ei voi vastata toisiinsa, luettelen ne hauskan vuoksi.

  • C-kieli (Kehittäjä tietää, mitä hän tekee): Haluaisin verrata sitä republikaanisuuteen. Se muistuttaa historiallisesti länsimaisen poliittisen järjestelmän perustana ollutta tasavaltaa, ja se muistuttaa myös kommunitarismia, joka korostaa yksilön tietoisuutta ja yksilöllisiä pyrkimyksiä kohti parempaa ihannetta. Lisäksi tunsin, että oikeuksiin liittyy vastuita, mikä on samanlaista.
  • Java (Kirjoita kerran, suorita missä tahansa): En tiedä. On olemassa vahvoja lakeja, joita noudatetaan ja joiden mukaan eletään yhtenäistettyä elämää, mutta se on vakaata ja sen sisällä on vapautta. Ja kun mennään Springiin, erilaiset edut odottavat sinua. Pitäisikö kutsua sitä liberalismiksi?
  • C# (Kehittäjän tuottavuuden ja ohjelmistotekniikan periaatteiden harmonia): Vahvan hallituksen suojeluksessa kaikki on hyvin suunniteltua, ja tämän suunnitelman puitteissa tuottavuus ja suorituskyky voidaan maksimoida. Suunnitelmatalous sopii. Se ei ole kommunismia, koska tuotantovälineet on vapautettu eikä tuottajia rajoiteta.
  • Go (Luopuu monimutkaisuudesta, valitsee käytännöllisyyden ja tehokkuuden): Ei ole mitään vastaavaa. Koska kaikki jaetaan, kutsutaan sitä hyvinvointivaltioksi.
  • Rust (Turvallisuus ilman suorituskyvyn heikkenemistä): Rustin omistajuutta ja elinkaarta hallitsee tiukka kääntäjä. Mielestäni tämä on sosialismia, koska se estää yksilön vapaan taloudellisen toiminnan aiheuttamaa epätasa-arvoa ja riskejä, ja yhteisö hallitsee ja suunnittelee tuotantovälineitä vakaan elämän takaamiseksi. Se rajoittaa yksilön vapautta jonkin verran järjestelmän yleisen turvallisuuden ja tasa-arvon saavuttamiseksi.
  • JavaScript (Joustavuus, suvaitsevaisuus ja läsnäolo kaikkialla): Haluaisin verrata sitä kapitalismiin. Tässä kielessä yksilöt omistavat tuotantovälineet, ja jopa laitteet ovat runsaasti yksilöiden omistuksessa. Tämän ansiosta on syntynyt monia kulutustavaroita, ja vapaan kilpailun kautta kuka tahansa voi tavoitella voittoa. Sääntelemättömät markkinat ajautuivat kuitenkin pian kaaokseen.
  • TypeScript (Laajeneva JavaScript): Tietysti se on muokattua kapitalismia. Luottamus kapitalismiin murtuu, ja hallitus puuttuu asiaan jossain määrin markkinoiden epävakauden poistamiseksi. Olemassa oleva täydellinen vapaus on suhteellisesti taantunut, mutta silti kuka tahansa voi vapaasti osallistua markkinoille ja kilpailla.

Ja yllättävän monet kehittäjät taistelevat kielillä, aivan kuin he kävisivät ideologista sotaa todellisuudessa. Kieli itsessään on kehittäjille tuttu ideologia ja tavoiteltava ihanne.

Valtio ja arkkitehtuuri

  • Monoliittinen arkkitehtuuri ja keskitetty valtio: Yksi valtava koodikanta ja yksi binääritiedosto sisältävät kaiken. Tämä muistuttaa yhden valtion tai absoluuttisen monarkian rakennetta, jolla on vahva keskusjohto. Kaikki valtion toiminnot ovat yhden vallankäyttöjärjestelmän hallinnassa.
    • Etuna on, että valtion muodon luominen on helpointa ja päätöksenteko on nopeaa. Tämä on samassa linjassa sen edun kanssa, että koko ohjelmisto valmistuu nopeasti. Kaikki resurssit ja tiedot ovat yhdessä paikassa, joten hallinta on selkeää.
    • Kuitenkin, mitä suuremmaksi valtio kasvaa, sitä vaikeampaa on vastata muutoksiin, ja pienten lakien tai instituutioiden muuttaminen vaatii koko järjestelmän tarkastelun ja soveltamisen. Yhden alan ongelma voi halvaannuttaa koko valtion. Monoliittisen järjestelmän on myös vaikea vastata muutoksiin suuren koodikannan ja kytketyn koodin vuoksi, ja yhden rivin muuttaminen vaatii vaikutusalueen arvioimista, ja yhdessä moduulissa syntynyt ongelma vaikuttaa helposti koko järjestelmään.
  • MSA ja liittovaltio: Järjestelmän jokainen toiminto on jaettu itsenäisiksi palveluiksi. Tämä muistuttaa liittovaltiota, jossa valtion jokainen osa koostuu useista itsenäisistä osavaltioista. Lisäksi jokaisella palvelulla ja osavaltiolla on oma itsenäinen infrastruktuuri. Keskushallinnon puuttuminen on löysää, ja on samanlaista, että itsenäistymisiä ja liittymisiä voi tapahtua milloin tahansa.
    • Periaatteessa jokainen itsenäinen osavaltio ja palvelu voi itsenäisesti muuttaa lakeja / kirjoittaa koodia. Tämän ansiosta niiden ei tarvitse vastata toistensa tahtiin. Lisäksi, vaikka jossain paikassa syntyisi ongelma, koko liittoa on vaikea halvaannuttaa. Ja voidaan valita sopivat instituutiot (teknologiat) kunkin alueen tai alan mukaan.
    • Kuitenkin keskinäisen yhteisymmärryksen saavuttaminen tai viestintäkanavien luominen on vaikeaa. Johdonmukaisen politiikan toteuttaminen voi olla vaikeaa ja aiheuttaa sekasortoa.
  • EDA (Event-Driven Architecture) ja kansalaisyhteiskunta: Keskushallitus tai edustajat eivät anna suoraan käskyjä, vaan yksilöt ottavat aloitteen sosiaalisten ongelmien ratkaisemisessa itsenäisesti. Tämä muistuttaa EDA:n ominaisuutta, jossa kun tapahtuma ilmenee, joku tilaajista ottaa sen itsenäisesti käsiteltäväkseen.
    • Kuka tahansa voi osallistua helposti. EDA:ssa uusi palvelu voi myös helposti liittyä prosessiin uutena tilaajana.
    • Haittapuolena on kuitenkin, että koko virtaa ei voida ymmärtää. On vaikea jäljittää, kuka ja miten asia on käsitelty, eikä tiedetä, millaisia ketjureaktioita yksi tapahtuma voi aiheuttaa.
  • Kerrostettu arkkitehtuuri ja feodalismi: Feodalismi on rakenne, jossa kukin taso täyttää sille annetut roolit ja vastuut ja täyttää velvollisuutensa ylempää tasoa kohtaan. Ne ovat sidoksissa eräänlaiseen sopimussuhteeseen ja muodostavat tiukan hierarkkisen hallintorakenteen, mistä löytyy yhtäläisyyksiä kerrostetun arkkitehtuurin kanssa.

Vaikka tällaisia vertauksia on paljon enemmän, tämän tekstin ydin ei ole itse rakenteessa, vaan prosessissa, jolla rakenne luodaan.

Voisiko kehityksen ja politiikan ongelmanratkaisu olla sama?

Jos ohjelmistoarkkitehtuuri ja valtion järjestelmä muistuttavat toisiaan, myös niiden luomisprosessi kulkee hämmästyttävän samansuuntaisesti. Ohjelmistojen kehittämisprosessi on itse asiassa poliittista toimintaa, jossa digitaaliseen tilaan rakennetaan ja kehitetään uutta järjestystä.

  1. Yhteiskunnallisen ongelman julkistaminen ja vaatimusten analysointi: Kaikki alkaa kysymyksestä "Mikä on ongelma?". Aivan kuten kansalaisyhteiskunnan kärsimykset ja epämukavuudet julkistetaan ja niistä tulee poliittinen agenda, käyttäjien epämukavuudet ja vaatimukset analysoidaan ja niistä tulee kehityksen ensimmäinen merkkipaalu, "vaatimusmäärittely".
  2. Perustuslain suunnittelu ja arkkitehtuurin suunnittelu: Millainen valtio rakennetaan? Millainen järjestelmä rakennetaan? Aivan kuten poliitikot luovat perustuslain ja lakien rungon ideologioiden ja filosofioiden pohjalta, arkkitehdit piirtävät järjestelmän perustan muodostavan arkkitehtuurin piirustukset teknisten vakaumusten pohjalta. Tämän vaiheen päätökset määräävät järjestelmän kohtalon.
  3. Politiikan täytäntöönpano ja ohjelmiston toteutus: Kun suunnitelma on valmis, kehittäjät kirjoittavat itse koodin, ja hallintovirkamiehet panevat politiikat täytäntöön lain mukaisesti. Tämä on prosessi, jossa abstraktista suunnitelmasta syntyy konkreettinen, todellisessa maailmassa toimiva kokonaisuus.
  4. Tuomio vaalien kautta ja ohjelmistotestaus: Politiikan oikeutus arvioidaan vaalien ja yleisen mielipiteen kautta. Ohjelmiston arvo todennetaan QA-tiimin testien ja käyttäjien palautteen kautta. Molempien on lopulta saatava suvereenin (kansalaisten, käyttäjien) suostumus selviytyäkseen.
  5. Instituutioiden uudistaminen ja järjestelmän ylläpito: Kerran luodut lait ja järjestelmät eivät ole ikuisia. Aivan kuten vanhat lait muutetaan ja instituutiot uudistetaan vastaamaan ajan muutoksia, myös ohjelmistoista tulee kuollutta koodia heti, kun ne lakkaavat mukautumasta muuttuvaan ympäristöön ja parantamasta sisäistä tehottomuutta, eli "refaktorointi" lakkaa.

Tällä tavoin koko prosessi ongelman määrittelystä suunnitteluun, toteutukseen, todentamiseen ja jatkuvaan parantamiseen osoittaa, että nämä kaksi maailmaa jakavat saman ongelmanratkaisun rytmin.

Uusien lainsäätäjien päivä

Tietoyhteiskunta on tehnyt näiden kahden filosofian huippujen välisen etäisyyden merkityksettömäksi. Koodi ei ole enää pelkkä looginen piiri, vaan siitä on tullut "laki" (Code is Law), joka määrittelee ihmisten väliset suhteet, jakaa valtaa ja toteuttaa sosiaalisia arvoja. Jos suunnittelemamme arkkitehtuuri muistuttaa valtion hallintorakennetta ja noudattamamme kehitysprosessi on samanlainen kuin poliittinen sopimusprosessi, keitä me kehittäjät sitten olemme? Ja mitä poliitikkojen tulisi tehdä? Siksi kehittäjien on nyt pohdittava koodin logiikan lisäksi myös sitä yhteiskuntaa, jonka koodi luo, ja poliitikkojen on ymmärrettävä äänten logiikan lisäksi myös maailmaa liikuttavan teknologian logiikka. Tämä johtuu siitä, että tähän valtavaan valtaan, jota käytämme omissa maailmoissamme, liittyy vastaava eettinen vastuu.